#include <bits/stdc++.h>
using namespace std;

int main()
{
	ios::sync_with_stdio(false); // 关闭IO同步
	cin.tie(nullptr), cout.tie(nullptr);
	// istringstream iss{string{istreambuf_iterator<char>{cin},
	// 						 istreambuf_iterator<char>{}}}; // 将输入一次全部读入输入缓冲区
	// ostringstream oss;										// 将输出放入输出缓冲区
	// int t;													// t个case
	// iss >> t;
	// while (t--)
	// {
	// }

	// cout << oss.str(); // 将输出缓冲区一次全部输出

	int n, T, H;
	cin >> n >> T >> H;
	int t, h, a;
	vector<int> vt, vh, va;
	while (cin >> t >> h >> a)
	{
		vt.push_back(t);
		vh.push_back(h);
		va.push_back(a);
	}

	vector<vector<long long>> dp(T + 1, vector<long long>(H + 1, 0));
	long long res = 0;

	for (int i = 1; i <= n; i++)
	{
		for (int j = T; j >= 0; j--)
		{
			for (int k = H; k >= 0; k--)
			{
				if (j >= vt[i - 1] && k >= vh[i - 1])
				{
					dp[j][k] = max(dp[j][k], dp[j - vt[i - 1]][k - vh[i - 1]] + va[i - 1]);
					res = max(res, dp[j][k]);
				}
			}
		}
	}

	cout << res;

	return 0;
}
// 64 位输出请用 printf("%lld")